:art: Opt

huangqimin001 3 年 前
コミット
e9d1a801bf
共有2 個のファイルを変更した28 個の追加11 個の削除を含む
  1. 25 9
      api/eqpt_views.py
  2. 3 2
      equipment/models.py

+ 25 - 9
api/eqpt_views.py

@@ -79,16 +79,24 @@ def eqpt_onoff(request):
79 79
     macid = request.POST.get('macid', '')
80 80
     active = request.POST.get('active', 0)
81 81
 
82
-    eqpt = ThermometerEquipmentInfo.objects.get(macid=macid)
82
+    try:
83
+        eqpt = ThermometerEquipmentInfo.objects.get(macid=macid)
84
+    except ThermometerEquipmentInfo.DoesNotExist:
85
+        return response(ThermometerEquipmentStatusCode.THERMOMETER_EQUIPMENT_NOT_FOUND)
86
+
83 87
     eqpt.active_status = active
84 88
     eqpt.active_at = tc.utc_datetime()
85 89
     eqpt.save()
86 90
 
87 91
     if active == 0:
88
-        user = IsolationPointUserInfo.objects.get(pk=eqpt.ipui_pk)
89
-        user.status = False
90
-        user.leave_at = tc.utc_datetime()
91
-        user.save()
92
+        try:
93
+            user = IsolationPointUserInfo.objects.get(pk=eqpt.ipui_pk)
94
+        except IsolationPointUserInfo.DoesNotExist:
95
+            user = None
96
+        if user:
97
+            user.leave_at = tc.utc_datetime()
98
+            user.status = False
99
+            user.save()
92 100
 
93 101
     return response()
94 102
 
@@ -98,14 +106,22 @@ def eqpt_remark(request):
98 106
     macid = request.POST.get('macid', '')
99 107
     remark = request.POST.get('remark', '')
100 108
 
101
-    eqpt = ThermometerEquipmentInfo.objects.get(macid=macid)
109
+    try:
110
+        eqpt = ThermometerEquipmentInfo.objects.get(macid=macid)
111
+    except ThermometerEquipmentInfo.DoesNotExist:
112
+        return response(ThermometerEquipmentStatusCode.THERMOMETER_EQUIPMENT_NOT_FOUND)
113
+
102 114
     eqpt.remark = remark
103 115
     eqpt.save()
104 116
 
105 117
     # 存放历史备注记录
106
-    user = IsolationPointUserInfo.objects.get(pk=eqpt.ipui_pk)
107
-    user.remark += [remark]
108
-    user.save()
118
+    try:
119
+        user = IsolationPointUserInfo.objects.get(pk=eqpt.ipui_pk)
120
+    except IsolationPointUserInfo.DoesNotExist:
121
+        user = None
122
+    if user:
123
+        user.remark += [remark]
124
+        user.save()
109 125
 
110 126
     return response()
111 127
 

+ 3 - 2
equipment/models.py

@@ -121,7 +121,7 @@ class IsolationPointInfo(BaseModelMixin):
121 121
             if tc.utc_datetime(start_dt) < current_dt < tc.utc_datetime(end_dt):
122 122
                 return f'{start_t}-{end_t}'
123 123
         return ''
124
-    
124
+
125 125
     @property
126 126
     def previous_measure_window(self):
127 127
         current_ymd = tc.local_string(format='%Y-%m-%d')
@@ -142,9 +142,10 @@ class IsolationPointUserInfo(BaseModelMixin):
142 142
 
143 143
     fields = JSONField(_('fields'), default=[], blank=True, null=True, help_text='字段信息')
144 144
 
145
-    remark = JSONField(_('remark'), default=[], blank=True, null=True, help_text='备注')
146 145
     leave_at = models.DateTimeField(_('leave_at'), blank=True, null=True, help_text=_('离开时间'))
147 146
 
147
+    remark = JSONField(_('remark'), default=[], blank=True, null=True, help_text='备注')
148
+
148 149
     class Meta:
149 150
         verbose_name = _('隔离点用户录入信息')
150 151
         verbose_name_plural = _('隔离点用户录入信息')